﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="/">
    <html>
      <head>
        <title>Superkena haldus- ja asustusüksuste kuvamise leht!</title>
      </head>
      <body>
        <h2>
          Maakonnad, omavalitsused ja asustusüksused
        </h2>
        <table border="0">
          <xsl:for-each select="/ehak/maakond">
            <tr valign="top">
              <th>
                <br/>
                <h2>
                  <xsl:value-of select="@nimi"/>
                </h2>
              </th>
            </tr>
            <tr valign="top">
              <th>
                <br/>
                <i>
                  <b>
                    <font size="5">Vallad</font>
                  </b>
                </i>
              </th>
            </tr>
            <!-- omavalitsuste puhul on kaks tsüklit - esimene kuvab vallad ja teine linnad-->
            <xsl:for-each select="omavalitsus">
              <xsl:if test="@tüübinimi='vald'">
                <tr valign="top">
                  <th>
                    <br/>
                    <xsl:value-of select="@nimi"/>
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="@tüübinimi"/>
                  </th>
                </tr>
                <tr valign="top">
                  <th>
                    <i>Külad, alevikud, alevid</i>
                  </th>
                </tr>
                <!-- asustusüksuste kuvamiseks on kolm tsüklit, sest need kuvatakse sorteeritult
                 - esmalt külad, siis alevikud ja lõpuks alevid -->
                <xsl:for-each select="asustusüksus">
                  <xsl:if test="@tüübinimi='küla'">
                    <tr valign="top">
                      <td>
                        <!-- kirjutame nime koos tüübinimega-->
                        <xsl:value-of select="@nimi"/>
                        <xsl:text> </xsl:text>
                        <xsl:value-of select="@tüübinimi"/>
                        <!-- kui leidub rööpnimesid, siis pane need nime järgi, sulgudesse-->
                        <xsl:if test="@rööpnimi">
                          <xsl:text> (</xsl:text>
                          <xsl:value-of select="@rööpnimi"/>
                          <xsl:text>)</xsl:text>
                        </xsl:if>
                      </td>
                    </tr>
                  </xsl:if>
                </xsl:for-each>
                <xsl:for-each select="asustusüksus">
                  <xsl:if test="@tüübinimi='alevik'">
                    <tr valign="top">
                      <td>
                        <!-- kirjutame nime koos tüübinimega-->
                        <xsl:value-of select="@nimi"/>
                        <xsl:text> </xsl:text>
                        <u>
                          <xsl:value-of select="@tüübinimi"/>
                        </u>
                        <!-- kui leidub rööpnimesid, siis pane need nime järgi, sulgudesse-->
                        <xsl:if test="@rööpnimi">
                          <xsl:text> (</xsl:text>
                          <xsl:value-of select="@rööpnimi"/>
                          <xsl:text>)</xsl:text>
                        </xsl:if>
                      </td>
                    </tr>
                  </xsl:if>
                </xsl:for-each>
                <xsl:for-each select="asustusüksus">
                  <xsl:if test="@tüübinimi='alev'">
                    <tr valign="top">
                      <td>
                        <!-- kirjutame nime koos tüübinimega-->
                        <xsl:value-of select="@nimi"/>
                        <xsl:text> </xsl:text>
                        <u>
                          <xsl:value-of select="@tüübinimi"/>
                        </u>
                        <!-- kui leidub rööpnimesid, siis pane need nime järgi, sulgudesse-->
                        <xsl:if test="@rööpnimi">
                          <xsl:text> (</xsl:text>
                          <xsl:value-of select="@rööpnimi"/>
                          <xsl:text>)</xsl:text>
                        </xsl:if>
                      </td>
                    </tr>
                  </xsl:if>
                </xsl:for-each>
              </xsl:if>
            </xsl:for-each>
            <tr valign="top">
              <th>
                <br/>
                <i>
                  <b>
                    <font size="5">Linnad</font>
                  </b>
                </i>
              </th>
            </tr>
            <xsl:for-each select="omavalitsus">
              <xsl:if test="@tüübinimi='linn'">
                <tr valign="top">
                  <th>
                    <br/>
                    <xsl:value-of select="@nimi"/>
                  </th>
                </tr>
                <tr valign="top">
                  <th>
                    <i>Linnaosad</i>
                  </th>
                </tr>
                <!-- kuna linnas saavad ainsaks asustusüksuseks olla linnaosad, 
                siis on ainult üks tsükkel ja tüübinime ei kontrollita-->
                <xsl:for-each select="asustusüksus">
                  <tr valign="top">
                    <td>
                      <xsl:value-of select="@nimi"/>
                      <xsl:text> </xsl:text>
                      <xsl:value-of select="@tüübinimi"/>
                    </td>
                  </tr>
                </xsl:for-each>
              </xsl:if>
            </xsl:for-each>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>